package cn.itcast.wushangxiantu.Dialog;

import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;


import androidx.annotation.NonNull;

import cn.itcast.wushangxiantu.R;

/**
 * description:自定义dialog
 */

public class QianDaoDialog extends Dialog {

    /**
     * 显示的信息1
     */
    private TextView tvWeekDay ;
    /**
     * 显示的信息2
     */
    private TextView tvAllDay ;
    /**
     * 按钮
     */
    private Button btn ;



    /**
     * 都是内容数据
     */
    private String messageAll;
    private String messageWeek;

    /**
     * 底部是否只有一个按钮
     */
    private boolean isSingle = false;

    public QianDaoDialog(@NonNull Context context) {
        super(context);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.dialog_qiandao);
        //按空白处不能取消动画
        setCanceledOnTouchOutside(false);
        //初始化界面控件
        initView();
        //初始化界面数据
        refreshView();
        //初始化界面控件的事件
        initEvent();
    }

    private void initView() {
        btn=(Button)findViewById(R.id.btn);
        tvWeekDay=(TextView)findViewById(R.id.tvWeekDay);
        tvAllDay=(TextView)findViewById(R.id.tvAllDay);
    }

    private void initEvent() {
        //设置确定按钮被点击后，向外界提供监听
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if ( onClickBottomListener!= null) {
                    onClickBottomListener.onNegtiveClick();
                }
            }
        });
    }


    /**
     * 初始化界面控件的显示数据
     */
    private void refreshView() {
        //如果用户自定了title和message
        if (!TextUtils.isEmpty(messageAll)){
            tvAllDay.setText(messageAll);
            tvWeekDay.setText(messageWeek);
        }
//        if (!TextUtils.isEmpty(title)) {
//            titleTv.setText(title);
//            titleTv.setVisibility(View.VISIBLE);
//        }else {
//            titleTv.setVisibility(View.GONE);
//        }
//        if (!TextUtils.isEmpty(message)) {
//            messageTv.setText(message);
//        }
//        //如果设置按钮的文字
//        if (!TextUtils.isEmpty(positive)) {
//            positiveBn.setText(positive);
//        }else {
//            positiveBn.setText("确定");
//        }
//        if (!TextUtils.isEmpty(negtive)) {
//            negtiveBn.setText(negtive);
//        }else {
//            negtiveBn.setText("取消");
//        }
//
//        if (imageResId!=-1){
//            imageIv.setImageResource(imageResId);
//            imageIv.setVisibility(View.VISIBLE);
//        }else {
//            imageIv.setVisibility(View.GONE);
//        }
//        /**
//         * 只显示一个按钮的时候隐藏取消按钮，回掉只执行确定的事件
//         */
//        if (isSingle){
//            columnLineView.setVisibility(View.GONE);
//            negtiveBn.setVisibility(View.GONE);
//        }else {
//            negtiveBn.setVisibility(View.VISIBLE);
//            columnLineView.setVisibility(View.VISIBLE);
//        }
    }

    @Override
    public void show() {
        super.show();
        refreshView();
    }

    /**
     * 初始化界面控件
     */

    /**
     * 设置确定取消按钮的回调
     */
    public OnClickBottomListener onClickBottomListener;
    public QianDaoDialog setOnClickBottomListener(OnClickBottomListener onClickBottomListener) {
        this.onClickBottomListener = onClickBottomListener;
        return this;
    }
    public interface OnClickBottomListener{
        /**
         * 点击确定按钮事件
         */
        public void onPositiveClick();
        /**
         * 点击取消按钮事件
         */
        public void onNegtiveClick();
    }


    public String getMessageAll() {
        return messageAll;
    }

    public QianDaoDialog setMessageAll(String messageAll) {
        this.messageAll = messageAll;
        return this;
    }

    public String getMessageWeek() {
        return messageWeek;
    }

    public QianDaoDialog setMessageWeek(String messageWeek) {
        this.messageWeek = messageWeek;
        return this;
    }




    public boolean isSingle() {
        return isSingle;
    }

    public QianDaoDialog setSingle(boolean single) {
        isSingle = single;
        return this ;
    }


}
